package com.ndbg.demo.model.sign;

import javax.validation.constraints.NotNull;
import java.util.List;

/**
 * 静默盖章接口入参
 * @author chenXB
 * @createTime 2023年09月12日 10:02:00
 */
public class SilenceSealRequest implements ESignRequest{

    /**
     * 用户唯一值
     */
    @NotNull
    private String userKey;

    /**
     * 用户订单号
     */
    @NotNull
    private String orderNumber;

    /**
     * 文件id
     */
    @NotNull
    private Long fileId;

    /**
     * 静默证章sessionId
     */
    private String silenceSessionId;

    /**
     * 密码
     */
    @NotNull
    private String password;

    /**
     * 操作人姓名
     */
    @NotNull
    private String operatorName;

    /**
     * 操作人手机号
     */
    @NotNull
    private String operatorPhone;

    /**
     * 操作人人身份证号
     */
    @NotNull
    private String operatorIdCard;

    /**
     * 用户角色(1.经办人)
     */
    @NotNull
    private String userRole;

    /**
     * 盖章信息列表
     */
    @NotNull
    private List<sealInfo> sealInfoList;

    /**
     * 方法编码
     */
    @Override
    public String getMethodCode() {
        return "SILENCESEAL";
    }

    public static class sealInfo {
        /**
         * 页码(坐标盖章必填 格式如：a-b a为开始页，b为结束页 若是只盖第一页则传1-1))
         */
        private String pagen;

        /**
         * 签章x坐标(坐标盖章必填)
         */
        private String x;

        /**
         * 签章y坐标(坐标盖章必填)
         */
        private String y;

        /**
         * 盖章类型(1坐标盖章;2关键字盖章)
         */
        private String type;

        /**
         * 关键字(关键字盖章必填)
         */
        private String keyWord;

        /**
         * 关键字X轴偏移量(关键字盖章选填)
         */
        private String offsetX;

        /**
         * 关键字y轴偏移量(关键字盖章选填)
         */
        private String offsetY;

        public String getPagen() {
            return pagen;
        }

        public void setPagen(String pagen) {
            this.pagen = pagen;
        }

        public String getX() {
            return x;
        }

        public void setX(String x) {
            this.x = x;
        }

        public String getY() {
            return y;
        }

        public void setY(String y) {
            this.y = y;
        }

        public String getType() {
            return type;
        }

        public void setType(String type) {
            this.type = type;
        }

        public String getKeyWord() {
            return keyWord;
        }

        public void setKeyWord(String keyWord) {
            this.keyWord = keyWord;
        }

        public String getOffsetX() {
            return offsetX;
        }

        public void setOffsetX(String offsetX) {
            this.offsetX = offsetX;
        }

        public String getOffsetY() {
            return offsetY;
        }

        public void setOffsetY(String offsetY) {
            this.offsetY = offsetY;
        }
    }

    public String getUserKey() {
        return userKey;
    }

    public void setUserKey(String userKey) {
        this.userKey = userKey;
    }

    public String getOrderNumber() {
        return orderNumber;
    }

    public void setOrderNumber(String orderNumber) {
        this.orderNumber = orderNumber;
    }

    public Long getFileId() {
        return fileId;
    }

    public void setFileId(Long fileId) {
        this.fileId = fileId;
    }

    public String getSilenceSessionId() {
        return silenceSessionId;
    }

    public void setSilenceSessionId(String silenceSessionId) {
        this.silenceSessionId = silenceSessionId;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    public String getOperatorName() {
        return operatorName;
    }

    public void setOperatorName(String operatorName) {
        this.operatorName = operatorName;
    }

    public String getOperatorPhone() {
        return operatorPhone;
    }

    public void setOperatorPhone(String operatorPhone) {
        this.operatorPhone = operatorPhone;
    }

    public String getOperatorIdCard() {
        return operatorIdCard;
    }

    public void setOperatorIdCard(String operatorIdCard) {
        this.operatorIdCard = operatorIdCard;
    }

    public String getUserRole() {
        return userRole;
    }

    public void setUserRole(String userRole) {
        this.userRole = userRole;
    }

    public List<sealInfo> getSealInfoList() {
        return sealInfoList;
    }

    public void setSealInfoList(List<sealInfo> sealInfoList) {
        this.sealInfoList = sealInfoList;
    }
}
